Proximate beacon identification

ABSTRACT

Among other things, one or more techniques and/or systems are disclosed for identifying a proximate beacon to a mobile device. One or more first received signal strengths (RSSs), relative to the mobile device, may be received and used to determine a first average signal strength (RSS) and a first average RSS deviation for a first beacon during an observation period. An average RSS deviation for the observation period can be determined using the first average RSS deviation (e.g., and other average RSS deviations). If the average RSS deviation meets a desired deviation threshold, the first beacon may be identified as the proximate beacon. In this manner, if the user of the mobile device consents to the same, the user may be provided with relevant information (e.g., advertisements) on the mobile device while in a locale (e.g., store) corresponding to the (known) location of the beacon, for example.

RELATED APPLICATION

This application is a continuation of U.S. patent application Ser. No.13/431,331, filed on Mar. 27, 2012, entitled “PROXIMATE BEACONIDENTIFICATION,” at least some of which may be incorporated herein.

BACKGROUND

Computing devices have become more portable and mobile devices havebecome more interactive with a user's surroundings. For example, amapping application running on the user's mobile device (e.g.,smartphone) may allow the user to identify their approximate location ona map displayed on the mobile device. Further, points of interest,retails establishments, entertainment venues, and more, can be indicatedon such a map, for example, which can be searched for, and/or identifiedas the user moves through an area. Typically, mobile devices use globalpositioning systems (GPS), which utilize satellite triangulation, orsome sort of signal triangulation (e.g., mobile phone signal) toidentify the approximate location of the user. This location informationcan be used by various applications on the user's device, such as toprovide appropriate and relevant local information, identify the user'slocation for social networking, and more.

SUMMARY

This Summary is provided to introduce a selection of concepts in asimplified form that are further described below in the DetailedDescription. This Summary is not intended to identify key factors oressential features of the claimed subject matter, nor is it intended tobe used to limit the scope of the claimed subject matter.

Current global positioning systems (GPS) and/or other locationidentification services used on mobile devices may not provide neededfidelity for some user-experiences, such as applications running on themobile device, and/or information provided to mobile device dataproviders. For example, the GPS systems can have an error range ofthirty to fifty feet, which may not provide needed fidelity when theuser-experience needs the user to be immediately (or at leastsubstantially) proximate to a specific location.

Further, while the GPS and mobile signal triangulation can provide anapproximate position of the user relative to a mapped point, a distancefrom the user to a particular object may not meet granularityrequirements to properly interact, such as identifying a location fromseveral overlapping locations. Additionally, GPS-type location trackingloses reliability when a mobile device is inside a building or undercover (e.g., parking garage). Even in optimal conditions, a GPS may notbe able tell that the user is inside a particular building, standing infront of a particular display in a store, etc.

Accordingly, among other things, one or more techniques and/or systemsare provided that utilize a signal transmissions from one or more localbeacons to identify a potential location of a mobile device (e.g., andthus an associated user using the mobile device). For example, themobile device may detect signals (e.g., wireless signals) from one ormore beacons, respectively positioned in different locations (e.g.,stores, throughout a building, etc.) of a larger area. The receivedsignals can be analyzed and filtered to identify a set of signals from aproximate beacon (e.g., closest to the mobile device). Further, if theuser is non-stationary (e.g., moving through a shopping center), anon-stationary condition can be detected, and a proximate beacon may notbe identified (e.g., as the user may be proximate to several beaconswhile moving). The location awareness provided herein can help determinea potential location of the mobile device/user relative to a knownlocation (e.g., the proximate beacon may be known to be installed in aparticular store). In this way, rich content (e.g., relative to theusers location) can be provided to the user (e.g., on-the-fly, on themobile device).

In one embodiment of identifying a proximate beacon to a mobile device,a first average received signal strength (RSS) can be determined for afirst beacon; and a first average RSS deviation can be determined forthe first beacon. The determinations may be based at least upon areceived first RSS, that is relative to a mobile device, over a desiredobservation period. Further, an average RSS deviation can be determinedfor the desired observation period, using at least the first average RSSdeviation. If the average RSS deviation meets a desired deviationthreshold, the first beacon can be identified as a proximate beacon,using the first average RSS.

To the accomplishment of the foregoing and related ends, the followingdescription and annexed drawings set forth certain illustrative aspectsand implementations. These are indicative of but a few of the variousways in which one or more aspects may be employed. Other aspects,advantages and novel features of the disclosure will become apparentfrom the following detailed description when considered in conjunctionwith the annexed drawings.

DESCRIPTION OF THE DRAWINGS

FIG. 1 is a flow diagram illustrating an exemplary method foridentifying a proximate beacon to a mobile device.

FIG. 2 is a flow diagram illustrating an example embodiment where one ormore portions of one or more techniques described herein may beimplemented.

FIG. 3 is a flow diagram illustrating an example embodiment where one ormore portions of one or more techniques described herein may beimplemented.

FIG. 4 illustrates and example embodiment where one or more portions ofone or more techniques described herein may be implemented.

FIG. 5 is a graph illustrating an example embodiment of data in receivedbeacon data reports.

FIG. 6 is a component diagram illustrating an exemplary system foridentifying a proximate beacon to a mobile device.

FIG. 7 is a component diagram illustrating an example embodiment whereone or more systems described herein may be implemented.

FIG. 8 is an illustration of an exemplary computer-readable mediumcomprising processor-executable instructions configured to embody one ormore of the provisions set forth herein.

FIG. 9 illustrates an exemplary computing environment wherein one ormore of the provisions set forth herein may be implemented.

DETAILED DESCRIPTION

The claimed subject matter is now described with reference to thedrawings, wherein like reference numerals are generally used to refer tolike elements throughout. In the following description, for purposes ofexplanation, numerous specific details are set forth in order to providea thorough understanding of the claimed subject matter. It may beevident, however, that the claimed subject matter may be practicedwithout these specific details. In other instances, structures anddevices are shown in block diagram form in order to facilitatedescribing the claimed subject matter.

As provided herein, a method may be devised that can provide foridentifying a location of a mobile device (e.g., and the user of themobile device) in proximity to a beacon device. That is, for example,one or more beacons may be respectively located in portions (e.g.,stores) of an area (e.g., a mall). In this example, the respectivebeacons can output a wireless signal that can be detected by the mobiledevice, when the mobile device is within a certain proximity ofrespective beacons. The mobile device may detect one or more signalsfrom one or more beacons over an observation period, and a beaconclosest to the mobile device, for example, may be identified based on anaverage signal strength detected over the observation period. In thisway, for example, the portion of the area (e.g., a particular store inthe mall) in which the user is located may also be identified.

FIG. 1 is a flow diagram illustrating an exemplary method 100 foridentifying a proximate beacon to a mobile device. The exemplary method100 begins at 102. At 104, a first average received signal strength(RSS) for a first beacon is determined, based at least upon a first RSS150 relative to the mobile device over a first observation period. At106, a first average RSS deviation is determined for the first beacon,based at least upon the first RSS 150 relative to the mobile device overthe first observation period.

As one example, the beacon may be a device that periodically (e.g., orcontinuously) transmits a signal, such as short-distance wireless (e.g.,Bluetooth low energy), medium distance wireless (e.g., Wi-Fi), and/orother electric, magnetic and/or electro-magnetic, etc. transmissions. Inthis example, a mobile device may be configured to detect thetransmitted signals from the beacon, such that when the mobile device islocated within a transmission range, the signal may be detected.Further, for example, the mobile device may be able to identify areceive signal strength (e.g., a received signal strength indicator(RSSI)) for the detected signal, which may be used to determine anapproximate distance between the mobile device and the beacon.

One or more first RSSs 150 from, over, during, etc. the observationperiod can be used to determine the first average RSS for the firstbeacon, for example, comprising an average signal strength fortransmitted signals received by the mobile device during the observationperiod. Further, in this example, the one or more first RSSs 150 fromthe observation period can be combined with the first average RSS todetermine the first average RSS deviation for the first beacon, forexample, comprising a statistical dispersion or variability of therespective one or more first RSSs (e.g., how much the strength of thesignals detected by the mobile device varies).

At 108 in the exemplary method 100, an average RSS deviation can bedetermined for the desired observation period, based at least upon thefirst average RSS deviation. As one example, the first average RSSdeviation may be combined with one or more second average RSS deviations(if available) to determine the average RSS deviation for the period(e.g., period average RSS deviation).

For example, signals transmitted by a second beacon (e.g., and a third,fourth, etc.) may be detected by the mobile device, and the respectiveRSSs can be averaged (e.g., a second RSS average). In this example, theRSS averages for the second beacon (e.g., second RSS averages) may beused to identify a second average RSS deviation, which can be combinedwith the first average RSS deviation to identify the period average RSSdeviation (e.g., the average RSS deviation for all beacons during theobservation period).

At 110 in the exemplary method 100, if the average RSS deviation meets adesired deviation threshold, the first beacon is identified as aproximate beacon based at least upon the first average RSS. As oneexample, a greater average RSS deviation may indicate that the mobiledevice (e.g., detecting the respective beacon RSSs) was non-stationaryduring the observation period. That is, for example, a beacon signalstrength detected by the mobile device may vary widely betweenrespective signal detections when the mobile device is moving. In oneembodiment, the desired deviation threshold may be determined usingempirical data, and may be adjusted based on updated observed datarelated to stationary and/or non-stationary mobile device signaldetection. For example, the desired deviation threshold may indicate athreshold level of mobile device movement (e.g., within a specifiedarea) during an observation period for detecting a proximate beacon.

As one example, if the period average RSS deviation meets the desireddeviation threshold, the beacon having a “strong” average RSS may beselected as the proximate beacon. For example, a higher, greater, etc.average RSS may indicate that the beacon is closer than a beacon with alower, lesser, etc. average RSS. For example, if there is merely onebeacon, such as the first beacon, the first average RSS may comprisesthe highest value. Therefore, in this example, the first beacon can beselected as the proximate beacon (e.g., closest). As another example, ifthere is more than one beacon, the beacon comprising the “highest”average RSS value may be selected as the proximate (e.g., closest)beacon to the mobile device.

Having selected the proximate beacon, the exemplary method 100 ends at112.

FIG. 2 is a flow diagram illustrating an example embodiment 200 whereone or more portions of one or more techniques described herein may beimplemented. At 202, one or more beacon data reports may be received. Asone example, a plurality of signal transmitting beacon devices may bedispersed in an area. Further, in this example, a location of therespective beacons may be associated with a beacon identifier (e.g.,merely linked to one beacon). That is, for example, a database maycomprise data comprising a location of a beacon linked with datacomprising a beacon ID for that beacon. Additionally, in this example,the respective beacons may transmit a signal indicative of at leasttheir beacon ID.

In one embodiment, at 250, the one or more beacons may transmit asignal, comprising an indication of a corresponding beacon ID. If themobile device is located within a signal range of one or more of the oneor more beacons the mobile device may detect the signal(s). In oneembodiment, the mobile device may be able to identify a strength of adetected signal. As one example, when a mobile phone, a Wi-Fi enableddevice, and/or low energy (e.g., Bluetooth) enabled device receives acompatible phone signal, Wi-Fi signal and/or low energy signal, thedevice may detect the signal strength and, for example, provide a RSSindicator to the user (e.g., number and/or height of signal bars). Themobile device can create a beacon data report for the detected signal,for example, comprising the RSS and the beacon ID corresponding to theRSS (e.g., and send out the beacon data report, such as to a remoteservice).

As an illustrative example, FIG. 4 illustrates and example embodiment400 where one or more portions of one or more techniques describedherein may be implemented. In this example 400, a shopping center 402may comprise a plurality of shops, respectively comprising a beacon 404(A-E). In this example, when a user with a mobile device 412 (e.g.,configured to detect beacon signals) enters a shop in the center 402,the mobile device 412 may detect a signal from a beacon 404D located inthe shop. Further, in this example, the mobile device 412 may detect oneor more signals from other beacons 404A-C, 404E located in nearby shops(e.g., depending on the signal range, etc.). In this example, the mobiledevice 412 may prepare one or more beacon data reports, respectivelycorresponding to signals received from a beacon in a shop, and the oneor more reports may be sent, such as over a network 408 to a remotelocator service 410 (e.g., a cloud-based service providing mobile devicelocation services).

Returning to FIG. 2, at 204, a desired observation period can bedetermined. In one embodiment, the desired observation period maycomprise a period of time during which a desired number of beacon datareports are received. As one example, the desired number of beacon datareports may comprise a number that provides a statistically significantresult when identifying the proximate beacon (e.g., one that is unlikelyto have occurred by mere chance). The desired observation period maydepend on one or more factors, such as a signal transmission frequency(e.g., period between transmissions, not radio frequency), reportreceiving frequency, beacon signal strength, empirical data for RSSdeviation, and others, for example.

As one example, the desired observation period may be long enough toreceive a statistically significant number of reports, but not too longas to allow for higher RSS deviation if/when the mobile device usermoves. As an illustrative example, in FIG. 4, a stationary mobile device412 will typically receive a series of beacon signals (e.g., from one ormore beacons 404) that have a small RSS deviation, as a distance betweenthe device 412 and respective beacons 404 remains relatively constant,and a signal transmission strength from the beacons 404 also remainsrelatively constant. However, the RSS deviation for a non-stationarymobile device 406 (e.g., where the user may be moving from shop to shop)may be larger, as the distance between the non-stationary mobile device406 and the respective beacons 404 may change as the user moves.

Therefore, for example, typical user movements may be identified (e.g.,empirically) and used to determine the desired observation period,and/or used to update the desired observation period. As one example, auser may remain relatively stationary for an average of four secondswithin a store. In this example, respective beacon signal transmissionfrequencies (e.g., period between transmissions) may be calibrated totransmit enough signals within the four seconds to provide astatistically significant number of beacon data reports.

In another embodiment, the desired observation period may be determinedby the number of beacon data reports received (e.g., for one or more ofthe beacons). As one example, a first average RSS for the first beaconmay not be determined, at least, until a desired number of first beacondata reports are received for the first beacon, thereby determining alength of the desired observation period. For example, the desiredobservation period may comprise a period of time that remains open untila statistically significant (e.g., adequate) number of beacon datareports are received.

Returning to FIG. 2, at 206, RSS outliers may be filtered out. In oneembodiment, an outlier RSS may be identified in one or more of thereceived beacon data reports, and, if identified, the outlier RSS maynot be used in determining an average RSS for the beacon associated withthe outlier RSS (e.g., the first average RSS for the first beacon). Asone example, some building, mechanical, electrical and othercomponents/devices may impart a type of interference (e.g., electricalnoise) on a beacon signal transmission sent by the beacon and/orreceived by the mobile device, and/or an RSS for a signal from a beaconmay vary over time (e.g., even when the device is not moving), such asfrom an object moving between the sending beacon and receiving deviceand/or from random noise or variations in electronic circuitry intransmitter and/or receiver components, for example. A “false” signalmay, for example, be received by the mobile device, where the falsesignal may not comprise an appropriate representation of a RSS for thebeacon (e.g., a corrupted signal), and/or may comprise a signal that isnot from the beacon (e.g., transmitted by another electrical component).

Signal noise and/or a false signal may result in a sharp increase ordecrease in a RSS for a beacon, for example, which may be identifiedwhen compared with one or more prior or subsequent RSSs received for thebeacon. As one example, identifying the outlier RSS may comprisecomputing a RSS difference between a first and second RSS for a beacon,and comparing the RSS difference to a difference threshold that isindicative of an outlier RSS. For example, if the second RSS comprises afifty percent jump from the first RSS, received at a one secondinterval, the second RSS may comprise an outlier RSS, as the mobiledevice is not likely to be able to move close enough to the beaconwithin one second to produce the fifty percent increase in RSS.

At 208 in the example embodiment 200, an average RSS 252 can bedetermined for one or more beacon data reports received for respectiveone or more beacons during the desired observation period. As anillustrative example, FIG. 5 is a graph illustrating an exampleembodiment 500 of data in received beacon data reports. In this exampleembodiment 500, RSS is indicated by the Y axis 502, and time isindicated by the X axis 504. An observation period 508 comprises aperiod time during which beacon RSSs 510 may be used when determining anaverage RSS for the respective beacons 506, B1, B2, B3 and B4.

In this example 500, a first and second RSS for beacon B2 do not fallwithin the observation period 508, therefore beacon B2 may not beincluded in determination of the proximate beacon. Further, a first andsecond RSS for beacon B1, a first RSS for beacon B3, and a first RSS forbeacon B4 also fall outside the observation period 508, and theserespective RSSs may not be included when determining the average RSS forthe respective beacons B1, B3 and B4.

In one embodiment, an average RSS (e.g., for respective beacons B1, B3and B4 of FIG. 5) can be determined by summing respective RSS values forthe beacon during the observation period (e.g., 508 of FIG. 5), anddividing the sum by a number of RSS values identified during theobservation period. As an illustrative example, in FIG. 5, for beaconB1, the RSS values identified in the observation period may comprise(e.g., in decibels per milliwatt (dBmW)) negative forty-two (−42),negative fifty-six (−56), negative twenty (−20), negative fifty (−50),and negative forty-five (−45) respectively. In this example, the sum ofthese RSS values comprises negative two hundred and thirteen (e.g.,(−42)+(−56)+(−20)+(−50)+(−45)=−213). Therefore an average RSS for beaconB1 can comprise negative forty-two point six (dividing negativetwo-hundred and thirteen by five (five RSS values) (e.g., −213/5=−42.6).In this embodiment, an average RSS value may also be determined for thebeacons B3 and B4. It may be appreciated that in one example, the RSSvalue for beacon B1 of negative twenty may be omitted as an outlier andthus not included in the calculation of the average RSS for beacon B1(e.g., because the value of negative twenty is too different from theother RSS values for beacon B1 (e.g., influenced by noise, etc.)).

In one aspect, a first beacon may comprise a first signal transmissionstrength, and a second beacon may comprise a second signal transmissionstrength. As one example, the mobile device may receive the first andsecond signals, where the first signal RSS is higher than the secondsignal RSS, even though the second beacon may be located closer to themobile device. For example, if the second (closer) beacon transmits at alower power, the resulting RSS may not be indicative of the distancebetween the mobile device and second beacon when compared with the firstbeacon (e.g., and/or other beacons) that have a higher transmissionpower (than the second beacon).

In one embodiment, in this aspect, the average RSS for a beacon may benormalized to account for signal transmission power. As one example, thebeacon data report for the first (and/or second) beacon may furthercomprise a first (and/or second) transmission power value. A beacon'stransmission power value may also be received from the beacon, forexample, such as in a signal received from the beacon (e.g., alternativeto and/or in addition to a beacon data report for the beacon). The first(and/or second) transmission power value may be used, for example, tonormalize the average RSS for the first (and/or second) beacon, whencompared with average RSSs of other beacons.

In one embodiment, the transmission power value comprised in the beacondata report may be used to determine a signal attenuation for thebeacon. As one example, the first transmission power value and the firstRSS may be used to determine a first signal attenuation for the firstbeacon (e.g., the first transmission power value may be subtracted fromthe first RSS to determine the first signal attenuation for the firstbeacon). Further, in this example, the first average RSS may comprise anaverage of first signal attenuations for the first beacon during theobservation period. In this way, for example, the transmission powervalue can be accounted for in average RSSs for the respective beacons.

Returning to FIG. 2, at 210, a beacon RSS deviation can be determinedfor the respective beacons for which the average RSS has been identified(e.g., those identified during the observation period). As one example,the beacon RSS deviation may be determined by determining a statisticalsample variance, such as absolute deviation or standard deviation (e.g.,root mean square deviation). For example, As an illustrative example, inFIG. 5, an absolute deviation for beacon B1 may comprise:

⅕(|(−42)−(−42.6)|+|(−56)−(−42.6)|+|(−20)−(−42.6)|±|(−50)−(−42.6)|+|(−45)−(−42.6)|²)≈9.3

Further, in this example, a standard deviation for beacon B1 maycomprise:

√⅕(|(−42)−(−42.6)|²+|(−56)−(−42.6)|²+|(−20)−(−42.6)|²+|(−50)−(−42.6)|²+|(−45)−(−42.6)|²)≈12.3

In this embodiment, a beacon RSS deviation value may also be determinedfor the beacons B3 and B4.

Returning to FIG. 2, at 212, an average RSS deviation 254 can bedetermined for the desired observation period. As one example,respective beacon RSS deviation values determined for the beacons duringthe observation period may be used to determine the average RSSdeviation 254 for the desired observation period. As an illustrativeexample, in FIG. 5, the standard deviation value for beacon B1 (e.g.,118) may be combined with the respective standard deviations for beaconsB3 and B4 (e.g., sum the standard deviation values from respectivebeacons and divide by three (three standard deviation values used) todetermine the average RSS deviation for the observation period 508.

FIG. 3 is a flow diagram illustrating an example embodiment 300 whereone or more portions of one or more techniques described herein may beimplemented. At 302, an average RSS deviation for an observation period350 (e.g., 254 of FIG. 2) may be compared with a desired deviationthreshold. As described above, for example, a greater average RSSdeviation for the observation period may indicate that the mobile devicewas non-stationary during the observation period. Further, as describedabove, empirical data may be used to determine a desired deviationthreshold, which can be adjusted based on updated observed data relatedto stationary and/or non-stationary mobile device signal detection, forexample.

If the average RSS deviation for the observation period 350 does notmeet the desired deviation threshold (e.g., is higher than thethreshold) (NO at 302), no proximate beacon may be identified for themobile device, at 306. That is, for example, an average RSS deviationthat is greater than the deviation threshold may indicate that themobile device was non-stationary during the observation period (e.g.,the user was moving from shop to shop 406 of FIG. 4), thereby indicatingthat the mobile device may not have been proximate to any one beaconduring the observation period.

If the average RSS deviation for the observation period 350 meets thedesired deviation threshold (e.g., is equal to or lower than thethreshold) (YES at 302), a number of beacons for which RSS data wasreceived can be identified, at 304, for example, by identifying how mayaverage RSSs 352 (e.g., 252 of FIG. 2) were identified. If more than onebeacon is identified (e.g., by identifying how may average RSS 352 weredetermined) (NO at 304) the respective average RSSs can be compared todetermine if an “outstanding” average RSS is indicated, at 308. As oneexample, an “outstanding” average RSS may comprise a highest averageRSS. For example, a highest average RSS value may indicate a closestbeacon if respective detected beacons comprise a similar signaltransmission strength (e.g., the beacons transmit their signals,detected by the mobile device, at relatively the same strength).

If no outstanding average RSSs are identified (NO at 308) no proximatebeacon may be identified (e.g., a proximate beacon is not able to bedetermined), at 306. As one example, a first average RSS value may besimilar (e.g., within a desired RSS range) as a second average RSS value(e.g., and/or similar to a third, fourth, etc.). In this example, whereno one RSS value stands out from the set of average RSS values 352 forthe observation period, the mobile device may be proximate to more thanone beacon (e.g., within a similar distance).

If an outstanding average RSSs is identified (YES at 308) theoutstanding average RSS can be compared to a desired RSS threshold, at310. In one embodiment, the desired RSS threshold can comprise an RSSvalue, for example, where the RSS threshold value may comprise a desiredsignal strength that indicates a desired distance from a beacon. Forexample, if the outstanding average RSS is below the desired RSSthreshold (e.g., indicating a weak signal), the mobile device may havebeen located outside an area covered by the beacon associated with theoutstanding average RSS (e.g., outside the shop comprising the beacon).

Further, at 304, if merely one average RSS is detected, from one beacon,(YES at 304) the average RSS for the one beacon can be compared to thedesired RSS threshold, at 310. As one example, a value of the oneaverage RSS detected may be compared to the threshold RSS value todetermine whether the mobile device may have been located outside thearea covered by the beacon associated with the one average RSS.

In one embodiment, the desired RSS threshold may comprise an RSS valuedifference between a first average RSS for a first beacon and a secondaverage RSS for a second/different beacon. As one example, the firstaverage RSS may comprise the outstanding average RSS identified at 308,and the second average RSS may comprise a next (e.g., having a nearestvalue to the first average RSS) average RSS. In this example, adifference between the first average RSS value and the second averageRSS value can be compared with the RSS value difference threshold. Forexample, the RSS value difference threshold may comprise a signalstrength range, within which, a proximate beacon may not be indicated(e.g., there is not enough RSS difference between two beacons toidentify the actual proximate beacon).

In one embodiment, the desired RSS threshold may comprise an RSS valueproportion difference between the first average RSS and the secondaverage RSS. As one example, an RSS value difference of eight (e.g.,dBmW) between the first RSS average and the second RSS average maycomprise a higher proportion of first RSS average if the first RSSaverage value was negative thirty-two (e.g., twenty-five percent), thanif the first RSS average value was negative eighty (e.g., ten percent).

In this embodiment, for example, the RSS value proportion differencethreshold may comprise a proportion (e.g., a percentage, or some otherrepresentation of proportion) of the difference between the outstandingRSS average and the next RSS average to the outstanding RSS average(e.g., ten to one, 10%, etc.). In this example, a RSS value differencethat does not meet the RSS value proportion difference threshold mayindicate that a proximate beacon cannot be determined (e.g., there isnot enough RSS difference, proportionally, between two beacons toidentify the actual proximate beacon).

In another embodiment, a first function (e.g., a curve) of RSSdifference threshold may be used in identifying the desired RSSdifference threshold, such as by comparing the first average RSS (e.g.,the outstanding RSS) to the function, for example. The function of RSSdifference threshold may be plotted as a curve, for example, and thefirst average RSS may be compared against the curve to determine onwhich side of the curve the first average RSS lays. In this example, ifthe first average RSS is on a side of the curve that allows foridentifying the RSS as within a desired range, and/or distinct from asecond RSS, the corresponding beacon may be selected as the proximatebeacon.

In another embodiment, a second function may represent a mapping of theoutstanding RSS average to the desired RSS difference threshold. As oneexample, the second function may be applied to the outstanding RSSaverage (e.g., first RSS average). For example, a difference between theoutstanding RSS average (e.g., first RSS average) and a next RSS average(e.g., second RSS average) can be compared with the second function todetermine if the beacon associated with the outstanding RSS average(e.g., first RSS average) may be selected as the proximate beacon, suchas where the difference between the outstanding RSS average and the nextRSS average is greater than the desired RSS difference threshold, forexample.

At 310, if the selected average RSS (e.g., the one detected RSS averageof 304, or the “outstanding” RSS average of 308) does not meet thedesired RSS threshold (e.g., the RSS value threshold value, the RSSvalue difference threshold, and/or the RSS value proportion differencethreshold) (NO at 310) no proximate beacon may be identified, at 306. Ifthe selected average RSS does meet the desired RSS threshold (YES at310) the beacon associated with the selected average RSS may be selectedas the proximate beacon, at 312.

In one embodiment, the beacon associated with the selected average RSSmay be identified using a beacon identifier (ID). As described above,for example, a beacon ID may be associated with a corresponding beaconin a database. Additionally, in this example, the signal transmitted bythe beacon associated with the selected average RSS may comprises anindication of the beacon ID (e.g., in the beacon data report). Thebeacon ID may be used to identify the associated beacon in the database,for example, thereby identifying the proximate beacon.

In one embodiment, at 354 in the example embodiment 300, a potentiallocation of the mobile device may be determined, based at least upon theproximate beacon. As one example, as described above, the beacon ID maybe associated with the beacon location in the database. For example, aninstallation location of the proximate beacon (e.g., in a shop) can belinked to the beacon ID for the proximate beacon in the database, andthe beacon ID can be used to identify that installation location.Further, for example, the location of the proximate beacon may be usedas a likely location of the mobile device/user (e.g., in the same shop).

A system may be devised for that can identify a probable location of amobile device (e.g., within a known area) in proximity to a beacondevice transmitting a locating signal. For example, a plurality ofbeacons may respectively transmit a wireless signal, detectable by amobile device within range of the signal. Signals detected by the mobiledevice over an observation period can be analyzed to identify a beaconthat may be “most” proximate to the mobile device, based on an averagesignal strength. Further, a non-stationary mobile device (e.g., a userof the device is moving), may be detected, and a proximate beacon maynot be identified.

FIG. 6 is a component diagram illustrating an exemplary system 600 foridentifying a proximate beacon to a mobile device. In the exemplarysystem 600, a received signal strength (RSS) average determinationcomponent 602 is configured to determine a first (e.g., second, third,etc.) average RSS 654. The determination of the first average RSS 654 isbased at least on one or more first (e.g., second, third, etc.) RSSs 652received for a first (e.g., second, third, etc.) beacon relative to amobile device over a desired observation period. Further, an average RSSdeviation determination component 604 is configured to determine a first(e.g., second, third, etc.) average RSS deviation 656, where thedetermination of the first average RSS deviation 656 is based at leaston the one or more first RSSs 652 received for the first beacon over thedesired observation period.

In the exemplary system 600, a period average RSS deviationdetermination component 606 is configured to determine an average RSSdeviation 658 for the desired observation period based at least upon thefirst average RSS deviation 656 for the desired observation period.Additionally, if the first average RSS deviation 656 meets a desireddeviation threshold, a proximate beacon selection component 608 isconfigured to identify a proximate beacon 660 based at least upon thefirst average RSS 654. In this exemplary system 600, at least some ofthe system is implemented, at least in part, via a processing unit 650.

FIG. 7 is a component diagram illustrating an example embodiment 700where one or more systems described herein may be implemented. In thisexample 700, an extension of FIG. 6 is provided and thus description ofelements, components, etc. described with respect to FIG. 6 may not berepeated for simplicity. In one embodiment, the proximate beaconselection component 608 may be configured to identify the first beaconas the proximate beacon 760 if the first average RSS 754 comprises adesired value when compared with a second average RSS valuecorresponding to a second beacon. That is, for example, the desiredvalue may comprise a highest value, such that the first beacon has ahigher average RSS than the second beacon.

In one embodiment, the proximate beacon selection component 608 may beconfigured to identify the first beacon as the proximate beacon 760 ifmerely the first average RSS 754 is received. That is, for example, ifonly one set of RSS data is received, corresponding to a single beacon,that beacon may be selected as the proximate beacon 760. In oneembodiment, the proximate beacon selection component 608 may beconfigured to identify the first beacon as the proximate beacon 760 ifthe first average RSS 754 meets a desired RSS threshold. As one example,the desired RSS threshold may comprise a desired signal strength (e.g.,corresponding to a limiting distance from the beacon); a RSS valuedifference between the first and a second RSS average (e.g., indicatingthat two different beacons may be within a similar range from the mobiledevice); and/or a RSS value proportion difference between the first andsecond average RSS.

In the example embodiment 700, a beacon data report receiving component710 may be configured to receive a beacon data report 752 from a mobiledevice 768. The beacon data report can comprise a detected beacon RSS762, corresponding to a detected beacon and/or a detected beaconidentifier 764 corresponding to the detected beacon. A databasecomponent 712 can be configured to identify a detected beacon based atleast upon the detected beacon identifier 764. As one example, themobile device 768 may detect a signal transmitted from the first beacon.In this example, the first beacon's signal can comprise a first beaconidentifier 764. Further, the mobile device 768 can detect a strength ofthe first beacon's signal, and prepare and send a report comprising thedetected signal strength (RSS 762) of the first beacon, along with thefirst beacon identifier 764.

The example system 700 comprises an observation period determinationcomponent 716 that may be configured to determine a desired observationperiod used to identify appropriate data for identifying the proximatebeacon. The desired observation period may comprise a period of time,during which, a desired number of beacon data reports 752 are received,such as by the beacon data report receiving component 710. For example,the desired observation period may be used to identify which receivedRSSs may be used to determine the one or more average RSSs, the first(e.g., second, third, etc.) average RSS deviation 756 and/or the averageRSS deviation 758.

In the example embodiment 700, a filtering component 714 may beconfigured to filter out an outlier RSS. In one embodiment, thefiltering component 714 may identify the outlier RSS in a receivedbeacon data report 752, and filter out the outlier RSS from use indetermining an average RSS for the beacon associated with the outlierRSS. For example, interference (e.g., electrical noise) from somebuilding, mechanical, electrical and other components/devices mayproduce a false beacon signal, and/or a signal strength may vary overtime due to temporary obstructions, variations in circuitry, etc., whichmay not be indicative of the actual beacon signal strength received bythe mobile device. Signal noise and/or a false signal may result in asharp increase or decrease in a RSS for a beacon, for example, which maybe identified when compared with one or more prior or subsequent RSSsreceived for the beacon.

Still another embodiment involves a computer-readable medium comprisingprocessor-executable instructions configured to implement one or more ofthe techniques presented herein. An exemplary computer-readable mediumthat may be devised in these ways is illustrated in FIG. 8, wherein theimplementation 800 comprises a computer-readable medium 808 (e.g., aCD-R, DVD-R or a platter of a hard disk drive), on which is encodedcomputer-readable data 806. This computer-readable data 806 in turncomprises a set of computer instructions 804 configured to operateaccording to one or more of the principles set forth herein. In one suchembodiment 802, the processor-executable instructions 804 may beconfigured to perform a method, such as at least some of the exemplarymethod 100 of FIG. 1, for example. In another such embodiment, theprocessor-executable instructions 804 may be configured to implement asystem, such as at least some of the exemplary system 600 of FIG. 6, forexample. Many such computer-readable media may be devised by those ofordinary skill in the art that are configured to operate in accordancewith the techniques presented herein.

Although the subject matter has been described in language specific tostructural features and/or methodological acts, it is to be understoodthat the subject matter defined in the appended claims is notnecessarily limited to the specific features or acts described above.Rather, the specific features and acts described above are disclosed asexample forms of implementing the claims.

As used in this application, the terms “component,” “module,” “system,”“interface,” and the like are generally intended to refer to acomputer-related entity, either hardware, a combination of hardware andsoftware, software, or software in execution. For example, a componentmay be, but is not limited to being, a process running on a processor, aprocessor, an object, an executable, a thread of execution, a programand/or a computer. By way of illustration, both an application runningon a controller and the controller can be a component. One or morecomponents may reside within a process and/or thread of execution and acomponent may be localized on one computer and/or distributed betweentwo or more computers.

Furthermore, the claimed subject matter may be implemented as a method,apparatus or article of manufacture using standard programming and/orengineering techniques to produce software, firmware, hardware or anycombination thereof to control a computer to implement the disclosedsubject matter. The term “article of manufacture” as used herein isintended to encompass a computer program accessible from anycomputer-readable device, carrier or media. Of course, those skilled inthe art will recognize many modifications may be made to thisconfiguration without departing from the scope or spirit of the claimedsubject matter.

FIG. 9 and the following discussion provide a brief, general descriptionof a suitable computing environment to implement embodiments of one ormore of the provisions set forth herein. The operating environment ofFIG. 9 is only one example of a suitable operating environment and isnot intended to suggest any limitation as to the scope of use orfunctionality of the operating environment. Example computing devicesinclude, but are not limited to, personal computers, server computers,hand-held or laptop devices, mobile devices (such as mobile phones,Personal Digital Assistants (PDAs), media players, and the like),multiprocessor systems, consumer electronics, mini computers, mainframecomputers, distributed computing environments that include any of theabove systems or devices, and the like.

Although not required, embodiments are described in the general contextof “computer readable instructions” being executed by one or morecomputing devices. Computer readable instructions may be distributed viacomputer readable media (discussed below). Computer readableinstructions may be implemented as program modules, such as functions,objects, Application Programming Interfaces (APIs), data structures, andthe like, that perform particular tasks or implement particular abstractdata types. Typically, the functionality of the computer readableinstructions may be combined or distributed as desired in variousenvironments.

FIG. 9 illustrates an example of a system 900 comprising a computingdevice 912 configured to implement one or more embodiments providedherein. In one configuration, computing device 912 includes at least oneprocessing unit 916 and memory 918. Depending on the exact configurationand type of computing device, memory 918 may be volatile (such as RAM,for example), non-volatile (such as ROM, flash memory, etc., forexample) or some combination of the two. This configuration isillustrated in FIG. 9 by dashed line 914.

In other embodiments, device 912 may include additional features and/orfunctionality. For example, device 912 may also include additionalstorage (e.g., removable and/or non-removable) including, but notlimited to, magnetic storage, optical storage, and the like. Suchadditional storage is illustrated in FIG. 9 by storage 920. In oneembodiment, computer readable instructions to implement one or moreembodiments provided herein may be in storage 920. Storage 920 may alsostore other computer readable instructions to implement an operatingsystem, an application program and the like. Computer readableinstructions may be loaded in memory 918 for execution by processingunit 916, for example.

The term “computer readable media” as used herein includes computerstorage media. Computer storage media includes volatile and nonvolatile,removable and non-removable media implemented in any method ortechnology for storage of information such as computer readableinstructions or other data. Memory 918 and storage 920 are examples ofcomputer storage media. Computer storage media includes, but is notlimited to, RAM, ROM, EEPROM, flash memory or other memory technology,CD-ROM, Digital Versatile Disks (DVDs) or other optical storage,magnetic cassettes, magnetic tape, magnetic disk storage or othermagnetic storage devices, or any other medium which can be used to storethe desired information and which can be accessed by device 912. Anysuch computer storage media may be part of device 912.

Device 912 may also include communication connection(s) 926 that allowsdevice 912 to communicate with other devices. Communicationconnection(s) 926 may include, but is not limited to, a modem, a NetworkInterface Card (NIC), an integrated network interface, a radio frequencytransmitter/receiver, an infrared port, a USB connection or otherinterfaces for connecting computing device 912 to other computingdevices. Communication connection(s) 926 may include a wired connectionor a wireless connection. Communication connection(s) 926 may transmitand/or receive communication media.

The term “computer readable media” may include communication media.Communication media typically embodies computer readable instructions orother data in a “modulated data signal” such as a carrier wave or othertransport mechanism and includes any information delivery media. Theterm “modulated data signal” may include a signal that has one or moreof its characteristics set or changed in such a manner as to encodeinformation in the signal.

Device 912 may include input device(s) 924 such as keyboard, mouse, pen,voice input device, touch input device, infrared cameras, video inputdevices, and/or any other input device. Output device(s) 922 such as oneor more displays, speakers, printers, and/or any other output device mayalso be included in device 912. Input device(s) 924 and output device(s)922 may be connected to device 912 via a wired connection, wirelessconnection, or any combination thereof. In one embodiment, an inputdevice or an output device from another computing device may be used asinput device(s) 924 or output device(s) 922 for computing device 912.

Components of computing device 912 may be connected by variousinterconnects, such as a bus. Such interconnects may include aPeripheral Component Interconnect (PCI), such as PCI Express, aUniversal Serial Bus (USB), firewire (IEEE 1394), an optical busstructure, and the like. In another embodiment, components of computingdevice 912 may be interconnected by a network. For example, memory 918may be comprised of multiple physical memory units located in differentphysical locations interconnected by a network.

Those skilled in the art will realize that storage devices utilized tostore computer readable instructions may be distributed across anetwork. For example, a computing device 930 accessible via network 928may store computer readable instructions to implement one or moreembodiments provided herein. Computing device 912 may access computingdevice 930 and download a part or all of the computer readableinstructions for execution. Alternatively, computing device 912 maydownload pieces of the computer readable instructions, as needed, orsome instructions may be executed at computing device 912 and some atcomputing device 930.

Various operations of embodiments are provided herein. In oneembodiment, one or more of the operations described may constitutecomputer readable instructions stored on one or more computer readablemedia, which if executed by a computing device, will cause the computingdevice to perform the operations described. The order in which some orall of the operations are described should not be construed as to implythat these operations are necessarily order dependent. Alternativeordering will be appreciated by one skilled in the art having thebenefit of this description. Further, it will be understood that not alloperations are necessarily present in each embodiment provided herein.

Moreover, the word “exemplary” is used herein to mean serving as anexample, instance or illustration. Any aspect or design described hereinas “exemplary” is not necessarily to be construed as advantageous overother aspects or designs. Rather, use of the word exemplary is intendedto present concepts in a concrete fashion. As used in this application,the term “or” is intended to mean an inclusive “or” rather than anexclusive “or.” That is, unless specified otherwise, or clear fromcontext, “X employs A or B” is intended to mean any of the naturalinclusive permutations. That is, if X employs A; X employs B; or Xemploys both A and B, then “X employs A or B” is satisfied under any ofthe foregoing instances. Further, At least one of A and B and/or thelike generally means A or B or both A and B. In addition, the articles“a” and “an” as used in this application and the appended claims maygenerally be construed to mean “one or more” unless specified otherwiseor clear from context to be directed to a singular form.

Also, although the disclosure has been shown and described with respectto one or more implementations, equivalent alterations and modificationswill occur to others skilled in the art based upon a reading andunderstanding of this specification and the annexed drawings. Thedisclosure includes all such modifications and alterations and islimited only by the scope of the following claims. In particular regardto the various functions performed by the above described components(e.g., elements, resources, etc.), the terms used to describe suchcomponents are intended to correspond, unless otherwise indicated, toany component which performs the specified function of the describedcomponent (e.g., that is functionally equivalent), even though notstructurally equivalent to the disclosed structure which performs thefunction in the herein illustrated exemplary implementations of thedisclosure. In addition, while a particular feature of the disclosuremay have been disclosed with respect to only one of severalimplementations, such feature may be combined with one or more otherfeatures of the other implementations as may be desired and advantageousfor any given or particular application. Furthermore, to the extent thatthe terms “includes”, “having”, “has”, “with”, or variants thereof areused in either the detailed description or the claims, such terms areintended to be inclusive in a manner similar to the term “comprising.”

What is claimed is:
 1. A computer-based method for identifying a proximate beacon to a mobile device, comprising: comparing a first average received signal strength (RSS) for a first beacon with a second average RSS for a second beacon; and identifying the first beacon as a proximate beacon based at least upon the comparing.
 2. The method of claim 1, comprising receiving a first beacon data report for the first beacon comprising one or more of: a first transmission power for the first beacon; or a first beacon identifier corresponding to the first beacon.
 3. The method of claim 1, comprising determining the first average RSS based at least upon a first RSS.
 4. The method of claim 1, comprising identifying a potential location of a mobile device based at least upon the proximate beacon.
 5. The method of claim 1, the identifying comprising determining that the first average RSS is greater than the second average RSS.
 6. The method of claim 1, the identifying comprising determining that the first average RSS meets a desired RSS threshold.
 7. The method of claim 6, the desired RSS threshold comprising one or more of: an RSS value; an RSS value difference between the first average RSS and the second average RSS; an RSS value proportion difference between the first average RSS and the second average RSS; or a function of RSS difference compared against the first average RSS.
 8. A computer readable medium comprising instructions that when executed via processing unit, perform a method, comprising: comparing a first average received signal strength (RSS) for a first beacon with a second average RSS for a second beacon; and identifying the first beacon as a proximate beacon based at least upon the comparing.
 9. The computer readable medium of claim 8, the method comprising receiving a first beacon data report for the first beacon comprising one or more of: a first transmission power for the first beacon; or a first beacon identifier corresponding to the first beacon.
 10. The computer readable medium of claim 8, the method comprising determining the first average RSS based at least upon a first RSS.
 11. The computer readable medium of claim 8, the method comprising identifying a potential location of a mobile device based at least upon the proximate beacon.
 12. The computer readable medium of claim 8, the identifying comprising determining that the first average RSS is greater than the second average RSS.
 13. The computer readable medium of claim 8, the identifying comprising determining that the first average RSS meets a desired RSS threshold.
 14. The computer readable medium of claim 13, the desired RSS threshold comprising one or more of: an RSS value; an RSS value difference between the first average RSS and the second average RSS; an RSS value proportion difference between the first average RSS and the second average RSS; or a function of RSS difference compared against the first average RSS.
 15. A system, comprising: a period average received signal strength (RSS) deviation determination component configured to determine an average RSS deviation for a desired observation period; and a proximate beacon selection component configured to identify a first beacon as a proximate beacon, if the average RSS deviation meets a desired deviation threshold.
 16. The system of claim 15, comprising an observation period determination component configured to determine the desired observation period, the desired observation period comprising a period of time during which a desired number of beacon data reports are received.
 17. The system of claim 15, the proximate beacon selection component configured to identify the first beacon as the proximate beacon if a first average RSS for the first beacon comprises a desired value when compared with a second average RSS for a second beacon.
 18. The system of claim 15, the proximate beacon selection component configured to identify the first beacon as the proximate beacon if a first average RSS for the first beacon meets a desired RSS threshold.
 19. The system of claim 15, comprising a beacon data report receiving component configured to receive a first beacon data report for the first beacon.
 20. The system of claim 19, the first beacon data report comprising one or more of: a first transmission power for the first beacon; or a first beacon identifier corresponding to the first beacon. 